Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Оптимизация множественного INSERT как? (NetWork)
Author Message
NetWork
Участник форума



Joined: 11 May 2007
Posts: 46
Карма: -4
   поощрить/наказать


PostPosted: Sun Nov 18, 2007 11:39 am (написано за 33 секунды)
   Post subject: Оптимизация множественного INSERT как?
Reply with quote

В базу данных я добавляю сразу 150 000 записей с одинаковым содержанием. Всё это я выполняю через обычный цикл, но проблема в том, что если сумма записей слишком большая процесс добавления занимает много времени.

У меня на серваке P 4 ht с тактовой двух процессоров 2 GHz запрос в 250 000 записей выполняется больше 15 секунд. Не помню где, но я слышал, что есть способ, который позволяет ускорить добавление большого кол-ва одинаковых записей в базу.

Подскажите, пожалуйста, как это сделать на обычно INSERT запросе.
Back to top
View user's profile Send private message
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Sun Nov 18, 2007 1:57 pm (спустя 2 часа 18 минут; написано за 7 минут 12 секунд)
   Post subject:
Reply with quote

NetWork
могу сказать отлько для случая использования MySQL.
Вот ссылка на мануал: расход времени на INSERT-запросы (dev.mysql.com/doc/refman/5.0/en/insert-speed.html). Самое простое, что оттуда можно почерпнуть, это:
1) используйте
Code (SQL): скопировать код в буфер обмена
LOCK TABLES {имя_таблицы} WRITE
2) используйте пакетные вставки:
Code (SQL): скопировать код в буфер обмена
INSERT ... VALUES (...), (...), (...), ...
Размер пакета в байтах только не забудьте подрегулировать
Кстати, от времени записи изменений на диск никуда не деться.

Вопрос: какой смысл добавлять в базу одинаковые записи? Может, у Вас что-то не то с архитектурой?
Back to top
View user's profile Send private message
NetWork
Участник форума



Joined: 11 May 2007
Posts: 46
Карма: -4
   поощрить/наказать


PostPosted: Sun Nov 18, 2007 2:54 pm (спустя 56 минут; написано за 5 минут 25 секунд)
   Post subject:
Reply with quote

Одинаковые записи. :) ну всё так на форуме трудно объяснить. Даже не буду пытаться всё рассказать, так как слишком долго времени зайдёт. Могу лишь сказать, что в нашем случаи проще удалить одну запись у пользователя, чем сделать обновление на -1. Только прошу не думать, что технически, ну так лучше для оптимизации.

За подсказку Maus благодарю. Пойду почитаю.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML